﻿#pragma once

#include "discrete_face_utils.hxx"

class cone_faceter : abstract_faceter {
private:
    cone* localCone = nullptr;

    bool singular_ule = false;
    bool singular_uri = false;

protected:
    void init() override;
    void decideUVlen() override {};
    bool getLoops() override { return false; }
    void peripheryProcess() override {};
    bool USeperationProcess() override { return false; }
    bool VSeperationProcess() override { return false; }
    void holeProcess() override {};
    void attachMesh() override;

public:
    cone_faceter(FACE* f, double nt = 0, double st = 0) : abstract_faceter(f, nt, st) {}
    outcome facet() override;
};
outcome facet_face_cone(FACE* f, double nt = 0, double st = 0);